#include <stdio.h>
#include <stdbool.h>
//217. 存在重复元素
//给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ，返回 true ；如果数组中每个元素互不相同，返回 false 。

//哈希表
// struct hashTable 
// {
//     int key;
//     UT_hash_handle hh;
// };

// bool containsDuplicate(int* nums, int numsSize) {
//     struct hashTable* set = NULL;
//     for (int i = 0; i < numsSize; i++) {
//         struct hashTable* tmp;
//         HASH_FIND_INT(set, nums + i, tmp);
//         if (tmp == NULL) {
//             tmp = malloc(sizeof(struct hashTable));
//             tmp->key = nums[i];
//             HASH_ADD_INT(set, key, tmp);
//         } else {
//             return true;
//         }
//     }
//     return false;
// }

//bool containsDuplicate(int* nums, int numsSize) 
//{


    //超时
    // int left = 0;
    // int right = numsSize-1;
    // while(left < right)
    // {
    //     int temp = right;
    //     while(left < temp && nums[left] != nums[temp])
    //         temp--;
    //     if(left < temp)
    //         return true;
    //     else
    //         {
    //             temp = right;
    //             left++;
    //         }
    // }
    // return false;
//}

int main()
{
    int nums[] = {1,2,3,1};
    int numSize = sizeof(nums)/4;
    printf("%d\n",containsDuplicate(nums,numSize));
}